package com.gy.controller.assistant.tools;

import dev.langchain4j.agent.tool.Tool;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class StudentAwardTool {
    private static final Logger log = LoggerFactory.getLogger(StudentAwardTool.class);

    /**
     * 清理OCR识别的证书文本，去除乱码、特殊字符（如®、©）和多余空格
     */
    @Tool
    public String cleanOcrText(String ocrText) {
        if (ocrText == null) return "";
        // 清理逻辑（与之前preprocessOcrText一致）
        String clean = ocrText.replaceAll("[^\\u4e00-\\u9fa5a-zA-Z0-9\\s:：,，;；.。=/-]", "");

        return clean.replaceAll("\\s+", " ").trim();
    }

    /**
     * 校验赛事级别是否合法，合法值：国际级/国家级/省部级/市厅级/校级/院级/其他，不合法则返回null
     */
    @Tool
    public String validateLevel(String level) {
        if (level == null) return null;
        String trimmed = level.trim();
        if (List.of("国际级", "国家级", "省部级", "市厅级", "校级", "院级", "其他").contains(trimmed)) {
            return trimmed;
        }
        log.warn("非法赛事级别：{}", level);
        return null;
    }
}
